package com.armani.mapper;

import com.armani.entity.Admin;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ProjectName: armani
 * @Package: com.armani.mapper
 * @ClassName: AdminMapper
 * @Description: 管理员接口映射类
 * @Author: lenovo
 * @Date: 2021/11/29 0:27
 * @Version: 1.0
 **/
public interface AdminMapper {
    /**
     * 管理员登录
     *
     * @param user     用户名
     * @param password 密码
     * @return 管理员集合（符合条件）
     * @throws Exception 抛出异常
     */
    List<Admin> login(@Param(value = "user") String user,
                      @Param(value = "password") String password) throws Exception;
    /**
     * 添加管理员
     * @param user 用户名
     * @param password 密码
     * @param play 角色
     * @param name 姓名
     * @param phone 电话
     * @param power 权力
     * @param state 状态（0-锁定，1-正常）
     * @return 影响行
     * @throws Exception 抛出异常
     */
    Integer insert(@Param(value = "user") String user,
                   @Param(value = "password") String password,
                   @Param(value = "play") String play,
                   @Param(value = "name") String name,
                   @Param(value = "phone") String phone,
                   @Param(value = "power") String power,
                   @Param(value = "state") String state) throws Exception;

    /**
     * 编辑管理员信息
     * @param id 要修改的管理员id
     * @param user 修改后的用户名
     * @param password 修改后的密码
     * @param play 修改后的角色
     * @param name 修改后的姓名
     * @param phone 修改后的电话
     * @param power 修改后的权力
     * @param state 修改后的状态（0-锁定，1-正常）
     * @return
     * @throws Exception
     */
    Integer update(@Param(value = "id") Integer id,
                   @Param(value = "user") String user,
                   @Param(value = "password") String password,
                   @Param(value = "play") String play,
                   @Param(value = "name") String name,
                   @Param(value = "phone") String phone,
                   @Param(value = "power") String power,
                   @Param(value = "state") String state) throws Exception;
    /**
     * 删除管理员
     * @param id 要删除管理员的id
     * @return 影响行
     * @throws Exception 抛出异常
     */
    Integer del(@Param(value = "id") Integer id)throws Exception;

   /* *//**
     * 查询用户名是否存在
     * @param user 用户名
     * @return 管理员对象
     *//*
     Admin selectByName(@Param("user") String user);

    *//**
     * 查询电话是否存在
     * @param phone 电话
     * @return 管理员对象
     *//*
     Admin selectByPhone(@Param("phone") String phone);*/
}
